package cn.kai.ymcc.service;

import cn.kai.ymcc.domain.Course;
import cn.kai.ymcc.dto.CourseDto;
import cn.kai.ymcc.dto.MessageSendDto;
import cn.kai.ymcc.vo.CourseDetailInfoVo;
import cn.kai.ymcc.vo.CourserOrderVo;
import com.baomidou.mybatisplus.service.IService;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author kai.tang
 * @since 2022-07-21
 */
public interface ICourseService extends IService<Course> {

    /**
     * 查询订单结算页需要的数据
     * @param courseIds
     * @return
     */
    CourserOrderVo courserOrderVo(String courseIds);

    /**
     * 查询课程详情
     * @param courseId
     * @return
     */
    CourseDetailInfoVo searchCourseDetail(Long courseId);

    /**
     * 新增课程
     * @param dto
     */
    void save(CourseDto dto);

    /**
     * 课程上架
     * @param courseId
     */
    void onLineCourse(Long courseId);

    /**
     * 课程下架
     * @param courseId
     */
    void offLineCourse(Long courseId);

    /**
     * 发送推广短信
     * @param dto
     * @return
     */
    void sendSms(MessageSendDto dto);

    /**
     * 发送推广邮箱
     * @param dto
     * @return
     */
    void sendEmail(MessageSendDto dto);

    /**
     * 发送推广站内信
     * @param dto
     * @return
     */
    void sendStation(MessageSendDto dto);
}
